package pl.edu.pk.psb.bc.assembler;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import pl.edu.pk.psb.bc.ds.MiastoDs;
import pl.edu.pk.psb.bc.ds.PrzystanekDs;
import pl.edu.pk.psb.bc.dto.PrzystanekDto;

@Component
public class PrzystanekAssembler {
	
	@Autowired
	RodzajPolaczeniaAssembler polaczenieAssembler;
	
	@Autowired
	OdlegloscAssembler odlegloscAssembler;
	
	public PrzystanekDto konwertuj(PrzystanekDs ds) {
		PrzystanekDto dto = new PrzystanekDto();
		dto.setId(ds.getId());
		dto.setNazwa(ds.getNazwa());
		dto.setMiasto(ds.getIdMiasta().getNazwa());
		dto.setRodzajPrzystanku(polaczenieAssembler.konwertuj(ds.getRodzajPrzystanku()));
		return dto;
	}

	public PrzystanekDs konwertuj(PrzystanekDto dto) {
		PrzystanekDs ds = new PrzystanekDs();
		ds.setId(dto.getId());
		ds.setNazwa(dto.getNazwa());
		MiastoDs miasto = new MiastoDs();
		miasto.setNazwa(dto.getMiasto());
		ds.setIdMiasta(miasto);
		ds.setRodzajPrzystanku(polaczenieAssembler.konwertuj(dto.getRodzajPrzystanku()));
		return ds;
	}
//
//	public PrzystanekDs konwertujBezListyOdleglosci(PrzystanekDto dto) {
//		PrzystanekDs ds = new PrzystanekDs();
//		ds.setId(dto.getId());
//		ds.setNazwa(dto.getNazwa());
//		ds.setRodzajPrzystanku(polaczenieAssembler.konwertuj(dto.getRodzajPrzystanku()));
//		return ds;
//	}

	public List<PrzystanekDto> konwertujDoDto(List<PrzystanekDs> ds) {
		List<PrzystanekDto> dto = new ArrayList<PrzystanekDto>();
		for (PrzystanekDs PrzystanekDs : ds) {
			dto.add(konwertuj(PrzystanekDs));
		}
		return dto;
	}

	public List<PrzystanekDs> konwertujDoDs(List<PrzystanekDto> dto) {
		List<PrzystanekDs> ds = new ArrayList<PrzystanekDs>();
		for (PrzystanekDto PrzystanekDto : dto) {
			ds.add(konwertuj(PrzystanekDto));
		}
		return ds;
	}
}
